#include <iostream>
#include <string>
#include <unordered_set>
#include <unordered_map>
#include <map>
#include <set>
#include <vector>
#include "HashTableCopy.h"
#include "UnorderedMap.h"
#include "UnorderedSet.h"

using namespace std;

void test1(){
    unordered_set<int> s;
    s.insert(1);
    s.insert(3);
    s.insert(2);
    s.insert(3);
    s.insert(7);
    auto it = s.begin();
    while (it != s.end()){
        cout << *it << " ";
        ++it;
    }
    cout << endl;
}

void test2(){
    string arr[] = {"watermelon", "apple", "apple", "apple", "banana", "apple", "watermelon"};
    unordered_map<string, int> countMap;
    for (auto& e : arr) {
        countMap[e]++;
    }
    for (auto& kv : countMap)
    {
        cout << kv.first << ":" << kv.second << endl;
    }
}

int main() {
    //test2();
    //OpenAddress::TestHashTable1();
    //HashBucketCopy::TestHashTable2();
    Lu::test_unordered_map1();
    //Lu::test_unordered_set1();
    return 0;
}
